|
Date : 26 septembre, 25 octobre 1993 Protection : DISQUETTE CLEF + MOT DE PASSE Programme : X-ROCK Outils : SOFT-ICE V2.50 Fichier : ? et TITLC.EXE Temps pass� : 5 minutes Soci�t� : SOFT WORLD Divers : Crypt� Origine : JKT Num�ro : 228 Un jeu qui comporte deux protections: Disquette clef et mot de passe. Ci-dessous comment enlever la protection disquette clef. En me triggant sur l'INT13 il faut comme d'habitude faire du F11 jusqu'� ce que l'on allume le lecteur de disquette. Toutes les autres r�jurgences de l'INT13 concernent le disque dur. C'est la m�me INT qui fait les deux. Il faut le savoir sinon on risque de perdre son temps � d�bugger son propre disque dur. Apr�s la seconde INT13 de la disquette le contenu de AX est compar� � 6DF7. Si oui c'est OK sinon on affiche le m�chant message. CS:IP CD13 INT 13 : : <������ͻ : � CS:01EF 81FEFF02 CMP SI,02FF � ; Boucle et incr. SI CS:01F3 75F5 JZ >������ͼ CS:01F5 3DF76D CMP AX,6DF7 ; Ici le test fatidique... CS:01F8 7507 JZ Suite si OK. � NOPer ou � forcer. Le bl�me c'est que je pensais avoir un autre probl�me ailleurs car il ( le soft ) n'arr�tait pas de beeper toutes les secondes. Je pensais que c'�tait d� en partie � SOFT-ICE mais je n'en �tais pas s�r. C'est la que je d�cidais de faire la modif et de lancer le jeu sans SOFT-ICE. Mais aucune trace de la routine INT 13 avec la comparaison du contenu de AX avec 6DF7. Je v�rifie tous mes EXE, seul deux fichiers MUSIC et MUSIC1 sont LZEXEt�s. MUSIC se d�comprime mais pas MUSIC1. Je regarde par hazard la fin du fichier et je trouve la phrase: THIS PROGRAM WAS WRITTEN BY .... IN SOFIA. Notre cher Darki ! le voila de retour. Une fois d�contamin� par CLEAN je v�rifie l'�tat de mon dur, mais aucune infection ne semble s'y �tre propag�e. J'UNLZEXEtte le fichier et remarque que sa taille est semblable au fichier MUSIC. Donc je pense que ce n'�tait qu'une copie du premier que quelqu'un a infect�. Ce qui explique que le jeu ne l'a pas utilis� et la non-infection de mon hard. Donc aucune trace de ma chaine alors que tous les fichiers sont maintenant en clair. Certainement que la chaine est crypt�e. Dans ce cas il faut mettre SOFT-ICE en point d'arr�t en �criture sur le mot/octet cherch� et trouver la routine qui crypte. Cel� peut-�tre tr�s long car plusieurs routines peuvent se superposer, je ne te cause pas alors de la modification �ventuelle des dits octets car bien souvent le caract�re n est XOR� par le caract�re n-1 ou n+1. Bonjour la bidouille. En examinant le fichier VXROCK.EXE de 3k qui lance le jeu, je remarque sa densit� de compactage avec aucune phrase et/ou mot en clair. Ce fichier est scrambled c'est sur. Et pourquoi serait-il scrambled ? Pour cacher quelque chose mon enfant r�pondit M�re Grand � ... Non. Ca c'est une autre histoire. Je tape LDR VXROCK.EXE et je regarde. D�s le d�but des PUSH AX, PUSH BX et RETF apparaissent. C'est du classique pour faire perdre les p�dales � SOURCER. Je d�cide de faire du F10 boucle apr�s boucle pour arriver au code sain. Au bout d'un moment je tombe sur une boucle qui charge un octet point� par SI dans AH, le XOR avec 24, puis le renvoie par DI. A la fin de la boucle on a de nouveau un PUSH, PUSH et RETF. Et la on y est. C'est le bon code. Et que trouves-je ? Mon INT13 suivi du test de AX ! OK. Je fais un lanceur car je ne vais pas m'arracher les cheveux et faire du reverse engeenering pour inverser le cryptage. J'ai d�j� donn� � ce jeu l�. Et le lanceur ne d�marre pas du premier coup car j'ai essay� de le trigger sur l'INT 1C. Poisse. Il n'y a pas d'INT soft appell�e dans ces 3k de programme en dehors de l'INT 13. Aller ! j'essaye sur l'INT 13. Et c'est OK. Le jeu fonctionne sans BEEPer. Il ne reste que la protection mot de passe � faire sauter. Mais ca je pense que c'est peu de chose. Au fait pour quitter c'est la touche F1. Ci-dessous les codes de couleur traduit de l'INDONESIEN en Frenchie. 1 = BLANC, 2 = ROUGE, 3 = BLEU, 4 = VIOLET, 5 = VERT. Si on tape le mauvais code le jeu semble fonctionner mais il se plantera tot ou tard avec plein d'injures sur l'�cran. Ci-dessous les valeurs pour le lanceur: ; PATCH POUR LE PROGRAMME XROCK ; ;****************************************************************************** ; ZONE A INITIALISER adr_ip1 equ 01f8h ; Adresse dont le contenu est � modifier. anc_val equ 0775h ; Valeur d'origine � rechercher, invers�e. nouv_val equ 9090h ; Nouvelle valeur (la modif). INT_DET equ 13h ; Le num�ro de l'INT que l'on veut utiliser. ;****************************************************************************** 25/10/1993 O� je d�cide de jeter un oeil sur la protection mot de passe. Le programme semblait �tre g�n� par la pr�sence de SOFT-ICE, et en fait tout s'explique maintenant puisque je remarque l'utilisation des INT 1 et 2 ! Le r�sultat est un jeu ralenti au maximum entrecoup� par des beep-beep incessant. La v�rification du code est simple et se fait en CS:119A. CS=1C66 CS:1193 A1F213 MOV AX,[13F2] CS:1196 3B06F813 CMP AX,[13F8] CS:119A 7526 JNZ 11C2 ; ON SAUTE APRES SI PAS OK. CS:119C BF00A0 MOV DI,A000 En pratique il suffit de remplacer le JNZ par des NOP ou de sauter avec un offset �gal � zero: JMP 119C c.a.d. EB00. C'est cette dreni�re solution que j'ai adopt�e. Avec PCTOOLS chercher dans le fichier TITLC.EXE la chaine: 3B06F8137526 et remplacer 7526 par EB00. Cette chaine est en clair contrairement � la protection disquette. Mais j'ai l'impression que j'ai persu le son dans l'histoire. A v�rifier... FREDDY |